草庐IT

C++::Boost::Regex 迭代子匹配

全部标签

javascript - 对象数组在条件匹配时返回对象

我有一个包含id、email和password值的数组。letarray=[{id:hyu,email:a@a.com,password:123},{id:rft,email:b@b.com,password:456},{id:ght,email:c@c.com,password:789},{id:kui,email:d@d.com,password:679}]现在,当我的条件匹配时,我想返回那个对象。为此,我使用javascriptsome函数创建了一个函数,但我想返回该对象,我们知道some函数返回bool值。我不知道该怎么做。我的代码是:constisEmailExists=(e

javascript - 匹配来自单个正则表达式的文件名和文件扩展名

我确信这一定很容易,但我正在努力...varregexFileName=/[^\\]*$/;//matchfilenamevarregexFileExtension=/(\w+)$/;//matchfileextensionfunctiondisplayUpload(){varpath=$el.val();//Thisisafileinputvarfilename=path.match(regexFileName);//returnsfilenamevarextension=filename[0].match(regexFileExtension);//returnsextension

Javascript:使用非连续键迭代数组

我需要遍历一个键不连续的数组:varmessages=newArray();messages[0]="Thisisthefirstmessage";messages[3]="Thisisanothermessage";显然,使用for循环的索引是行不通的,因为它取决于键的顺序:for(vari=0;i处理这个问题的规范方法是什么,见thefor-eachsyntaxisnotintendedforiteratingovervaluesinanarrayinjavascript?谢谢。 最佳答案 惯用的方法是使用对象,而不是数组。请务

javascript - 迭代 coffeescript 中的字符串而无需创建数组

我的代码中有几个地方需要遍历字符串并逐个字符地执行操作。我的node.js应用程序需要为每个请求执行数十次此操作,而且字符串的长度通常可能相当长。我见过将如下所示的javascript转换为coffeescript的唯一方法是根据字符串的长度创建一个数组。我遇到的问题是它在硬件方面是一件额外的事情,占用额外的内存,而且似乎没有必要(我的节点应用程序处理dgrams-每秒高达数千-所以所有这些额外的工作加起来)。JavaScript方式:for(vari=0;i建议的CoffeeScript方式foriin[0..str.length]#Dostuffhere再次强调,从硬件的Angul

javascript - 在字符串中查找所有匹配的正则表达式模式和匹配索引

我想在AA-AA-AA主题字符串中找到/AA/模式。我需要获取匹配的字符串和匹配的位置(索引)。我看过RegExp.prototype.exec().它只返回第一个匹配项:/AA/g.exec('AA-AA-AA') 最佳答案 exec()只返回一个匹配项。要使用globalregexp获取所有匹配项,您必须重复调用它,例如:varmatch,indexes=[];while(match=r.exec(value))indexes.push([match.index,match.index+match[0].length]);

javascript - Backbone.js 路由器匹配可选参数

我正在尝试创建一个可以匹配可选参数的主干路由器。考虑以下代码:routes:{'/jobs':'jobs','/jobs/p:page':'jobs','/jobs/job/:job_id':'jobs','/jobs/p:page/job/:job_id':'jobs'}jobs:function(page,job_id){//dostuffhere....}如果我导航到URLabc.com/#/jobs/p104/,page参数将为104。但是,如果导航到abc.com/#/jobs/job/93,job_id参数是未定义,但页面参数为93。所以Backbone的路由器基本上是按顺

javascript - 如果键与 underscore.js 匹配,则比较两个数组

我有一个数组,其中包含来自Facebook的权限以及用户应该授予的权限数组:window.FB.api('/me/permissions',function(perm){if(perm){vargiven_permissions=_.keys(perm['data'][0];varneeded_permissions=["publish_stream","email"];//nowcheckifgivenpermissionscontainsneededpermissions}}现在我想比较是否所有needed_permissions都在given_permissions中,以一种精明

Javascript Regex 应该通过 .test() 但似乎失败了 - 为什么?

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。在javascript中测试我的正则表达式时,我似乎总是得到一个奇怪的结果。这是我的fiddle:http://jsfiddle.net/s5fYf/15/这取self正在构建的网络项目。我将一组验证对象传递到我的验证函数中,该函数遍历它们,根据值验证每个规则。如果一个为假,它应该停止循环并返回一个返回对象,该对象从失败的规则中获取消息和cssClass。问题是即使正则表达式测试通过,验证方法似乎也返回false,这应该是不可能的!所以我觉得我错

javascript - 为什么javascript在迭代时将数组索引转为字符串?

这个Javascript逻辑让我很困惑。我正在创建一个数组并将它的第一个元素设置为一个数字。当我使用“for”循环遍历它时,Javascript将数组键转换为字符串。为什么?我希望它保留一个数字。stuff=[];stuff[0]=3;for(varxinstuff){alert(typeofx);} 最佳答案 这是因为您正在使用for...in遍历数组,这通常用于遍历对象的属性。javascript引擎可能正在转换为字符串,因为字符串类型适合对象属性的名称。尝试这种更传统的方法:stuff=[];stuff[0]=3;for(va

javascript - Jest 匹配器匹配三个值中的任何一个

我的组件中有这个选择器,它的默认状态是''(空)字符串,但是当change事件被触发时,用户可以选择三个值中的任何一个是6、12还是24it("feedformtestingtheselectorfeedfrequencyforvalueof6,12,24",()=>{constaddFeedForm=shallow({}}setFeedData={()=>{}}formType="add"feedsubmit={{status:null,error:{formsubmitwarning:"",feedname:"",feedurl:"",feedposttype:"",feedfre